package com.替换空格;

public class Solution {
	public String replaceSpace(StringBuffer str) {

		int length = str.length();
		int spacecount = 0;
		// 首先遍历整个str获取空格个数并且算出替换后的新的长度
		for (int i = 0; i < length; i++) {
			if (str.charAt(i) == ' ') {// 注意此处是比较char所以要用单引号
				spacecount++;
			}
		}
		int oldindex = 0;
		int newindex = 0;
		oldindex = length - 1;
		newindex = oldindex + 2 * spacecount;
		str.setLength(newindex+1);// 还得把现在的的长度扩大
		while (oldindex >= 0 && newindex > oldindex) {
			if (str.charAt(oldindex) == ' ') {
				str.setCharAt(newindex--, '0');
				str.setCharAt(newindex--, '2');
				str.setCharAt(newindex--, '%');
			} else {// 若不是空格的话，就单纯的复制一下
				str.setCharAt(newindex--, str.charAt(oldindex));
			}
			oldindex--;
		}
		String s = str.substring(0);
		
		return s;

	}
}
